Auth0ログの外部連携3選(DatadogとNew RelicとAmazon CloudWatch Logs)
Auth0のログインやログアウト、Auth0の各種APIの実行ログとそれらのメトリクスはAuth0ダッシュボードからでも確認することができますが、あまり使い勝手のよいものではなく監視に特化したツールと連携することが望ましいです。
今回は、Auth0のLog Streamという機能を使って「Datadog」「New Relic」「Amazon CloudWatch Logs」と連携する方法を試します。
尚、監視ツールの選定は私の独断と偏見により、よく見かけるツールを選びました。
※Auth0のLog StreamはAuth0 Essentialプラン以上でのみ使用可能です。
では、はじめます。
Datadog
事前準備
アカウントを作成します。Datadogは14日間無料のトライアルがあります。
画面に従ってアカウントを作成します。
ただし、リージョン選択は注意が必要です。
Auth0側で設定できるリージョンは、EU・US1・US3・US5リージョンのみです(202404現在)
既にAP1リージョンでアカウント作成済みの方は、この方法では連携できないので、後述するCustom Webhookを使用してください。
アカウント作成後、ダッシュボードからAPI Keyを発行します。
Keyをコピーしておきます。
連携
Auth0のダッシュボードから Monitoring > Streams を選択し、Create Log Streamを選択します。
連携先を選択します。
Datadog を選択します。
先ほどメモしたAPI Keyを入力します。Regionは対応するリージョンを選択します。
SaveするとHealthタブから連携が成功しているかどうか確認できます。
ログイン・ログアウトしてみてから、Datadog側でログとメトリクスを確認します。
ちゃんと詳細ログも連携されていますね。
New Relic
事前準備
アカウントを作成します。New Relicは条件付きのフリープランがあります。
アカウント作成後、ダッシュボードから Add Data を選択し、Logs APIと検索します。
Begin installation を選択します。
Create a new key を選択し、Keyをコピーします。
HTTPS endpointもコピーします。
設定完了です。
連携
Auth0のダッシュボードから Monitoring > Streams を選択し、Create Log Streamを選択します。
連携先を選択します。
Custom Web hookを選択します。
Payload URLを入力します。
先ほどコピーしたHTTPS endpointとクエリストリングにAPI Keyを入力します。
New Relic側がApi-Keyヘッダーしか受け付けておらず、Auth0側のAuthorizationヘッダーによる認証は使えません。
SaveするとHealthタブから連携が成功しているかどうか確認できます。
ログイン・ログアウトしてみてから、New Relic側でログとメトリクスを確認します。
ちゃんと詳細ログも連携されていますね。
Amazon CloudWatch Logs
事前準備
AWSアカウントの作成は省略します。
連携
Auth0のダッシュボードから Monitoring > Streams を選択し、Create Log Streamを選択します。
連携先を選択します。
Amazon EventBridgeを選択します。
連携させたいAWSアカウントIDとRegionを入力します。
AWS側のAmazon EventBridgeを確認するとイベントソースが作成されています。
Associate with event busを選択します。
Associateを選択し、アクティベートします。
Auth0イベントのルールを作成します。
ルールの名前を入力して次へ
イベントパターンだけ定義したら、他はそのままで次へ
ターゲットを入力して次へ
あとは画面に従って進めていくと作成が完了します。
ログイン・ログアウトしてみてから、CloudWatch Logs側でログを確認します。
ちゃんと詳細ログも連携されていますね。
感想
Auth0のログは、プランにもよりますが最長で30日間までしか保存しないため、長期間ログをアーカイブしておきたい場合には、ログを退避させておくことが必要です。
ログをアーカイブするだけなら別の方法もありますが、今回のように監視ツールと連携させることで、アラート・監視やトラブルシュートに役立てることが出来ます。
以上です。